#ifndef MODEL_HEADER
#define MODEL_HEADER
#include "def.hpp"
#include "model.hpp"

using namespace std;

/* This class is a Singleton */
namespace Puza{
  class PuzaMatrixModel{
  public:
    static PuzaMatrixModel* Instance();
    void Run();
  private:
    PuzaMatrixModel();  // private so that it can  not be called
    PuzaMatrixModel(PuzaMatrixModel const&){}; // copy constructor is private
    void PerformTask();
    static PuzaMatrixModel* m_pInstance;
    PuzaLFM* mf;
  };
};

#endif
